home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xdk_dev.jar / a / BaseAST.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-15  |  3.5 KB  |  277 lines

  1. package a;
  2.  
  3. import a.a.AST;
  4. import a.a.ASTEnumeration;
  5. import antlr.collections.impl.ASTEnumerator;
  6. import antlr.collections.impl.Vector;
  7.  
  8. public abstract class BaseAST implements AST {
  9.    // $FF: renamed from: a a.BaseAST
  10.    protected BaseAST field_0;
  11.    // $FF: renamed from: b a.BaseAST
  12.    protected BaseAST field_1;
  13.    // $FF: renamed from: c boolean
  14.    private static boolean field_2;
  15.    // $FF: renamed from: d java.lang.String[]
  16.    private static String[] field_3 = null;
  17.  
  18.    public void addChild(AST var1) {
  19.       if (var1 != null) {
  20.          BaseAST var2 = this.field_0;
  21.          if (var2 == null) {
  22.             this.field_0 = (BaseAST)var1;
  23.          } else {
  24.             while(var2.field_1 != null) {
  25.                var2 = var2.field_1;
  26.             }
  27.  
  28.             var2.field_1 = (BaseAST)var1;
  29.          }
  30.       }
  31.    }
  32.  
  33.    // $FF: renamed from: a (antlr.collections.impl.Vector, a.a.AST, boolean) void
  34.    private void method_0(Vector var1, AST var2, boolean var3) {
  35.       for(Object var4 = this; var4 != null; var4 = ((AST)var4).getNextSibling()) {
  36.          if (var3 && ((AST)var4).equalsTreePartial(var2) || !var3 && ((AST)var4).equalsTree(var2)) {
  37.             var1.appendElement(var4);
  38.          }
  39.  
  40.          if (((AST)var4).getFirstChild() != null) {
  41.             ((BaseAST)((AST)var4).getFirstChild()).method_0(var1, var2, var3);
  42.          }
  43.       }
  44.  
  45.    }
  46.  
  47.    public boolean equals(AST var1) {
  48.       if (var1 == null) {
  49.          return false;
  50.       } else {
  51.          return this.getText().equals(var1.getText()) && this.getType() == var1.getType();
  52.       }
  53.    }
  54.  
  55.    public boolean equalsList(AST var1) {
  56.       if (var1 == null) {
  57.          return false;
  58.       } else {
  59.          Object var2;
  60.          for(var2 = this; var2 != null && var1 != null; var1 = var1.getNextSibling()) {
  61.             if (!((AST)var2).equals(var1)) {
  62.                return false;
  63.             }
  64.  
  65.             if (((AST)var2).getFirstChild() != null) {
  66.                if (!((AST)var2).getFirstChild().equalsList(var1.getFirstChild())) {
  67.                   return false;
  68.                }
  69.             } else if (var1.getFirstChild() != null) {
  70.                return false;
  71.             }
  72.  
  73.             var2 = ((AST)var2).getNextSibling();
  74.          }
  75.  
  76.          return var2 == null && var1 == null;
  77.       }
  78.    }
  79.  
  80.    public boolean equalsListPartial(AST var1) {
  81.       if (var1 == null) {
  82.          return true;
  83.       } else {
  84.          Object var2;
  85.          for(var2 = this; var2 != null && var1 != null; var1 = var1.getNextSibling()) {
  86.             if (((AST)var2).getType() != var1.getType()) {
  87.                return false;
  88.             }
  89.  
  90.             if (((AST)var2).getFirstChild() != null && !((AST)var2).getFirstChild().equalsListPartial(var1.getFirstChild())) {
  91.                return false;
  92.             }
  93.  
  94.             var2 = ((AST)var2).getNextSibling();
  95.          }
  96.  
  97.          return var2 != null || var1 == null;
  98.       }
  99.    }
  100.  
  101.    public boolean equalsTree(AST var1) {
  102.       if (!this.equals(var1)) {
  103.          return false;
  104.       } else {
  105.          if (this.getFirstChild() != null) {
  106.             if (!this.getFirstChild().equalsList(var1.getFirstChild())) {
  107.                return false;
  108.             }
  109.          } else if (var1.getFirstChild() != null) {
  110.             return false;
  111.          }
  112.  
  113.          return true;
  114.       }
  115.    }
  116.  
  117.    public boolean equalsTreePartial(AST var1) {
  118.       if (var1 == null) {
  119.          return true;
  120.       } else if (!this.equals(var1)) {
  121.          return false;
  122.       } else {
  123.          return this.getFirstChild() == null || this.getFirstChild().equalsListPartial(var1.getFirstChild());
  124.       }
  125.    }
  126.  
  127.    public ASTEnumeration findAll(AST var1) {
  128.       Vector var2 = new Vector(10);
  129.       if (var1 == null) {
  130.          return null;
  131.       } else {
  132.          this.method_0(var2, var1, false);
  133.          return new ASTEnumerator(var2);
  134.       }
  135.    }
  136.  
  137.    public ASTEnumeration findAllPartial(AST var1) {
  138.       Vector var2 = new Vector(10);
  139.       if (var1 == null) {
  140.          return null;
  141.       } else {
  142.          this.method_0(var2, var1, true);
  143.          return new ASTEnumerator(var2);
  144.       }
  145.    }
  146.  
  147.    public AST getFirstChild() {
  148.       return this.field_0;
  149.    }
  150.  
  151.    public AST getNextSibling() {
  152.       return this.field_1;
  153.    }
  154.  
  155.    public String getText() {
  156.       return "";
  157.    }
  158.  
  159.    public int getType() {
  160.       return 0;
  161.    }
  162.  
  163.    public abstract void initialize(int var1, String var2);
  164.  
  165.    public abstract void initialize(AST var1);
  166.  
  167.    public abstract void initialize(Token var1);
  168.  
  169.    public void removeChildren() {
  170.       this.field_0 = null;
  171.    }
  172.  
  173.    public void setFirstChild(AST var1) {
  174.       this.field_0 = (BaseAST)var1;
  175.    }
  176.  
  177.    public void setNextSibling(AST var1) {
  178.       this.field_1 = (BaseAST)var1;
  179.    }
  180.  
  181.    public void setText(String var1) {
  182.    }
  183.  
  184.    public void setType(int var1) {
  185.    }
  186.  
  187.    public static void setVerboseStringConversion(boolean var0, String[] var1) {
  188.       field_2 = var0;
  189.       field_3 = var1;
  190.    }
  191.  
  192.    public String toString() {
  193.       StringBuffer var1 = new StringBuffer();
  194.       if (field_2 && !this.getText().equalsIgnoreCase(field_3[this.getType()]) && !this.getText().equalsIgnoreCase(Tool.stripFrontBack(field_3[this.getType()], "\"", "\""))) {
  195.          var1.append('[');
  196.          var1.append(this.getText());
  197.          var1.append(method_1("p!"));
  198.          var1.append(field_3[this.getType()]);
  199.          var1.append(method_1("b@"));
  200.          return var1.toString();
  201.       } else {
  202.          return this.getText();
  203.       }
  204.    }
  205.  
  206.    public String toStringList() {
  207.       String var2 = "";
  208.       if (this.getFirstChild() != null) {
  209.          var2 = var2 + method_1("|5");
  210.       }
  211.  
  212.       var2 = var2 + " " + this.toString();
  213.       if (this.getFirstChild() != null) {
  214.          var2 = var2 + ((BaseAST)this.getFirstChild()).toStringList();
  215.       }
  216.  
  217.       if (this.getFirstChild() != null) {
  218.          var2 = var2 + method_1("|4");
  219.       }
  220.  
  221.       if (this.getNextSibling() != null) {
  222.          var2 = var2 + ((BaseAST)this.getNextSibling()).toStringList();
  223.       }
  224.  
  225.       return var2;
  226.    }
  227.  
  228.    public String toStringTree() {
  229.       String var2 = "";
  230.       if (this.getFirstChild() != null) {
  231.          var2 = var2 + method_1("|5");
  232.       }
  233.  
  234.       var2 = var2 + " " + this.toString();
  235.       if (this.getFirstChild() != null) {
  236.          var2 = var2 + ((BaseAST)this.getFirstChild()).toStringList();
  237.       }
  238.  
  239.       if (this.getFirstChild() != null) {
  240.          var2 = var2 + method_1("|4");
  241.       }
  242.  
  243.       return var2;
  244.    }
  245.  
  246.    // $FF: renamed from: a (java.lang.String) java.lang.String
  247.    private static String method_1(String var0) {
  248.       char[] var1 = var0.toCharArray();
  249.       int var2 = var1.length;
  250.  
  251.       for(int var3 = 0; var3 < var2; ++var3) {
  252.          char var10002 = var1[var3];
  253.          byte var10003;
  254.          switch (var3 % 5) {
  255.             case 0:
  256.                var10003 = 92;
  257.                break;
  258.             case 1:
  259.                var10003 = 29;
  260.                break;
  261.             case 2:
  262.                var10003 = 90;
  263.                break;
  264.             case 3:
  265.                var10003 = 100;
  266.                break;
  267.             default:
  268.                var10003 = 48;
  269.          }
  270.  
  271.          var1[var3] = (char)(var10002 ^ var10003);
  272.       }
  273.  
  274.       return new String(var1);
  275.    }
  276. }
  277.